import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 课程商品管理信息 */
export interface CourseCommodity {
          id: number; // 课程商品主键
          courseId?: number; // 课程关联id
          teacherId?: number; // 课程商品关联老师
          courseCoverUrl: string; // 课程商品封面
          commodityPrice: number; // 课程商品价格
          teachingAllTime: number; // 授课总时长（小时）
          teachingTime: number; // 每次授课时长（小时）
          beginTime: string | Dayjs; // 开课时间
          endTime: string | Dayjs; // 结课时间
          vipFlag: string; // vip标识
          applicantNumber: number; // 报名人数
          courseFlag: string; // 课程标记(0-推荐1-新课2-畅销3-热门）
  }

// 课程商品管理 API
export const CourseCommodityApi = {
  // 查询课程商品管理分页
  getCourseCommodityPage: async (params: any) => {
    return await request.get({ url: `/train/course-commodity/page`, params })
  },

  // 查询课程商品管理列表
  getCourseCommodityList: async (params: any) => {
    return await request.get({ url: `/train/course-commodity/list`, params })
  },

  // 查询课程商品管理详情
  getCourseCommodity: async (id: number) => {
    return await request.get({ url: `/train/course-commodity/get?id=` + id })
  },

  // 新增课程商品管理
  createCourseCommodity: async (data: CourseCommodity) => {
    return await request.post({ url: `/train/course-commodity/create`, data })
  },

  // 修改课程商品管理
  updateCourseCommodity: async (data: CourseCommodity) => {
    return await request.put({ url: `/train/course-commodity/update`, data })
  },

  // 删除课程商品管理
  deleteCourseCommodity: async (id: number) => {
    return await request.delete({ url: `/train/course-commodity/delete?id=` + id })
  },

  /** 批量删除课程商品管理 */
  deleteCourseCommodityList: async (ids: number[]) => {
    return await request.delete({ url: `/train/course-commodity/delete-list?ids=${ids.join(',')}` })
  },

  // 导出课程商品管理 Excel
  exportCourseCommodity: async (params) => {
    return await request.download({ url: `/train/course-commodity/export-excel`, params })
  }
}
